In early computer systems, data was stored on decks of punched cards or on magnetic tapes for use by particular application programs. The amount of data that could be stored and retrieved by an application program was significantly constrained by the relatively small data capacities of these data-storage subsystems, and applications were constrained by the primitive interfaces and facilities for storing and retrieving data. Subsequently, electronic data-storage devices and systems were developed and rapidly evolved. As computer processors and computer systems rapidly acquired ever greater computational bandwidths and as software development tools allowed for development of more complex and robust application programs, database management systems emerged as flexible and highly capable subsystems within computer systems. Database management systems provide query-based interfaces that allow for more complex data-storage and data-retrieval operations as well as for more flexible and complex manipulation and processing of data stored within the database management systems. Relational database management systems (“RDBMSs”) are widely used in modern computing and provide a relatively standardized structured-query-language (“SQL”) interface based on the relational algebra.
While RDBMSs and high-capacity physical data-storage systems provide enormous data-storage, data-retrieval, and data-manipulation capabilities to application programs running on a variety of different types of computer systems, RDBMSs systems may provide non-optimal functionality and performance characteristics for certain types of applications. On-line application processing (“OLAP”) business-intelligence applications that provide OLAP-cube-based data access and manipulation to business-analysis application programs and, through sophisticated graphical user interfaces (“GUIs”), to human users and analysts provide a good example of applications for which the functionality and performance characteristics of RDBMSs are generally non-optimal. While the multi-level, multi-dimensional (“ML/MD”) data manipulated by the OLAP-cube-based OLAP applications and GUIs can be stored in relational database tables, storing such massive amounts of data in relational database tables incurs significant access delays, relatively low-efficiency use of physical data-storage subsystems, and additional computational inefficiencies. The sophisticated capabilities of RDBMSs are not effectively employed when used for storing the ML/MD data and ML/MD data does not efficiently map to the RDBMSs table-based paradigm. OLAP application and GUI developers and vendors, and, ultimately, users of OLAP applications and GUIs, continue to seek efficient data-storage and data-manipulation systems and facilities for ML/MD data storage and retrieval.